package LeetCode.month01.day29;

import java.util.HashMap;

public class No3090 {
    public static void main(String[] args) {
        System.out.println(maximumLengthSubstring("aaaa"));
    }
    public static int maximumLengthSubstring(String s) {
        char[] chars = s.toCharArray();
        int[] a = new int[26];
        int left = 0;
        int n = s.length();
        int res = 0;
        for (int i = 0; i <n; i++) {
            int index = chars[i]-'a';
            a[index]++;
            if(a[index]>2){
                res = Math.max(res,i-left);
                while(a[index]>2){
                    a[chars[left]-'a']--;
                    left++;
                }
            }
        }
        return Math.max(res,n-left);

//        char[] chars = s.toCharArray();
//        HashMap<Character,Integer> map = new HashMap<>();
//        int left = 0;
//        int n = s.length();
//        int res = 0;
//        for (int i = 0; i <n; i++) {
//            map.put(chars[i],map.getOrDefault(chars[i],0)+1);
//            if(map.getOrDefault(chars[i],0)>2){
//                res = Math.max(res,i-left);
//                while(map.get(chars[i])>2){
//                    char c =chars[left];
//                    map.put(c,map.get(c)-1);
//                    left++;
//                }
//            }
//        }
//        return Math.max(res,n-left);
    }
}
